//
//  SSBPopupView.h
//  tast
//
//  Created by 合事佬 on 2018/5/24.
//  Copyright © 2018年 合事佬. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "MBProgressHUD.h"

@interface SSBPopupView : NSObject

@property (nonatomic,strong) MBProgressHUD *hud;

+ (instancetype)sharePopupView;


/**
 菊花旋转  loading提示框  主动出现  被动消失

 @param View 当前View
 @param backViewBool 是否需要背景 YES:需要 NO:不需要
 @param bezelViewColor 背景色
 @param contenColor 修改内容颜色
 @param userInteraction 弹出后是否允许用户交互
 */
+ (void)PopupShowLoadingView:(UIView *)View backViewBool:(BOOL)backViewBool bezelViewColor:(UIColor *)bezelViewColor contenColor:(UIColor *)contenColor userInteraction:(BOOL)userInteraction;


/**
 菊花旋转  loading提示框带自定义文字

 @param View 当前View
 @param backViewBool 是否需要背景 YES:需要 NO:不需要
 @param labelText 自定义文字提示
 @param labelFont 自定义文字字体大小
 @param bezelViewColor 背景色
 @param contenColor 修改内容颜色
 @param userInteraction 弹出后是否允许用户交互
 */
+ (void)PopupShowLoadingLabelView:(UIView *)View backViewBool:(BOOL)backViewBool labelText:(NSString *)labelText labelFont:(UIFont *)labelFont bezelViewColor:(UIColor *)bezelViewColor contenColor:(UIColor *)contenColor userInteraction:(BOOL)userInteraction;


/**
 菊花旋转  loading提示框带自定义一级提示文字 + 自定义二级提示文字

 @param View 当前View
 @param backViewBool 是否需要背景 YES:需要 NO:不需要
 @param labelText 自定义一级文字提示
 @param labelFont 自定义一级文字字体大小
 @param detailsLabelText 自定义二级文字提示
 @param detailsLabelFont 自定义二级文字字体大小
 @param bezelViewColor 背景色
 @param contenColor 修改内容颜色
 @param userInteraction 弹出后是否允许用户交互
 */
+ (void)PopupShowLoadingDetailsLabelView:(UIView *)View backViewBool:(BOOL)backViewBool labelText:(NSString *)labelText labelFont:(UIFont *)labelFont detailsLabelText:(NSString *)detailsLabelText detailsLabelFont:(UIFont *)detailsLabelFont bezelViewColor:(UIColor *)bezelViewColor contenColor:(UIColor *)contenColor userInteraction:(BOOL)userInteraction;


/**
 圆环旋转  loading提示框带自定义提示文字

 @param View 当前View
 @param backViewBool 是否需要背景 YES:需要 NO:不需要
 @param labelText 自定义文字提示
 @param labelFont 自定义文字字体大小
 @param bezelViewColor 背景色
 @param contenColor 修改内容颜色
 @param userInteraction 弹出后是否允许用户交互
 */
+ (void)PopupShowDeterminateView:(UIView *)View backViewBool:(BOOL)backViewBool labelText:(NSString *)labelText lableFont:(UIFont *)labelFont bezelViewColor:(UIColor *)bezelViewColor contenColor:(UIColor *)contenColor userInteraction:(BOOL)userInteraction;


/**
 进度条  提示文字

 @param View 当前View
 @param backViewBool 是否需要背景 YES:需要 NO:不需要
 @param labelText 自定义文字提示
 @param labelFont 自定义文字字体大小
 @param bezelViewColor 背景色
 @param contenColor 修改内容颜色
 @param userInteraction 弹出后是否允许用户交互
 */
+ (void)PopupShowBarDeterminateView:(UIView *)View backViewBool:(BOOL)backViewBool labelText:(NSString *)labelText labelFont:(UIFont *)labelFont bezelViewColor:(UIColor *)bezelViewColor contenColor:(UIColor *)contenColor userInteraction:(BOOL)userInteraction;


/**
 普通提示文字

 @param View 当前View
 @param backViewBool 是否需要背景 YES:需要 NO:不需要
 @param lableText 自定义文字提示
 @param labelFont 自定义文字字体大小
 @param labelColor 自定义文字颜色
 @param bezelViewColor 背景色
 @param userInteraction 弹出后是否允许用户交互
 */
+ (void)PopupShowTextView:(UIView *)View backViewBool:(BOOL)backViewBool labelText:(NSString *)lableText labelFont:(UIFont *)labelFont labelColor:(UIColor *)labelColor bezelViewColor:(UIColor *)bezelViewColor userInteraction:(BOOL)userInteraction;


/**
 成功提示  带图片

 @param View 当前View
 @param backViewBool 是否需要背景 YES:需要 NO:不需要
 @param labelText 自定义文字提示
 @param labelFont 自定义文字字体大小
 @param labelColor 自定义文字颜色
 @param imageName 图片
 @param bezelViewColor 背景色
 @param userInteraction 弹出后是否允许用户交互
 */
+ (void)PopupShowCustomView:(UIView *)View backViewBool:(BOOL)backViewBool labelText:(NSString *)labelText labelFont:(UIFont *)labelFont labelColor:(UIColor *)labelColor imageName:(NSString *)imageName bezelViewColor:(UIColor *)bezelViewColor userInteraction:(BOOL)userInteraction;


/**
 图片数组  gif动画

 @param View 当前View
 @param backViewBool 是否需要背景 YES:需要 NO:不需要
 @param labelText 自定义文字提示
 @param labelFont 自定义文字字体大小
 @param labelColor 自定义文字颜色
 @param withImgArry 图片数组
 @param bezelViewColor 背景色
 @param userInteraction 弹出后是否允许用户交互
 */
+ (void)PopupShowCustomAnimationView:(UIView *)View backViewBool:(BOOL)backViewBool labelText:(NSString *)labelText labelFont:(UIFont *)labelFont labelColor:(UIColor *)labelColor withImgArry:(NSArray *)withImgArry bezelViewColor:(UIColor *)bezelViewColor userInteraction:(BOOL)userInteraction;

/**
 隐藏hud

 @param hideBool 是否显示隐藏动画
 @param timeDelay 显示的时间
 */
+(void)Popupdismiss:(BOOL)hideBool timeDelay:(int)timeDelay;


/**
 如果已经有显示出来 ，先消失掉。
 */
- (void)existingCartridgeBoxDisappears;


/**
 显示动画

 @param View 当前View
 */
- (void)doSomeWorkWithProgress:(UIView *)View;

@end
